using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartLink.DTOS.Parking
{
    public class ParkingLotDTO
    {
        /// <summary>
        /// 停车场ID 更新时使用
        /// </summary>
        public int ID { get; set; }

        /// <summary>
        /// 名称
        /// </summary>		
        [Required(ErrorMessage ="请填写停车场名称")]
        public string Name { get; set; }

        /// <summary>
        /// 省ID(第一级ID)
        /// </summary>
        public int ProvinceID { get; set; }
        /// <summary>
        /// 城市ID(第二级ID)
        /// </summary>
        public int CityID { get; set; }

        /// <summary>
        /// 区域ID(第三级别id) 直辖市的时候，可空
        /// </summary>		
        public int? AreaID { get; set; }
        /// <summary>
        /// 详细地址
        /// </summary>		
        public string Address { get; set; }
        /// <summary>
        /// 横坐标
        /// </summary>		
        [Required(ErrorMessage = "请标注停车场位置 经度")]
        public double Longitude { get; set; }
        /// <summary>
        /// 纵坐标
        /// </summary>		
        [Required(ErrorMessage = "请标注停车场位置 纬度")]
        public double Latitude { get; set; }
        /// <summary>
        /// 收费类型
        /// </summary>		
        [Required(ErrorMessage = "请设定停车场收费类型")]
        public int ChargeType { get; set; }
        /// <summary>
        /// 免费时长(分钟)
        /// </summary>		
        [Required(ErrorMessage = "请设定停车场免费时长")]
        public int FreeTime { get; set; }

        /// <summary>
        /// 费用是否封顶
        /// </summary>
        public bool IsCap { get; set; } = false;

        /// <summary>
        /// 常态价格
        /// </summary>
        [Required(ErrorMessage = "请设定停车场通用价格(元/小时)")]
        public decimal CommonPrice { get; set; }

        /// <summary>
        /// 封顶费用 （不封顶时,可空）
        /// </summary>		
        public decimal? Capping { get; set; }
        /// <summary>
        /// </summary>		
        /// 收费说明
        public string Description { get; set; }
        /// <summary>
        /// 是否接受预约
        /// </summary>		
        public bool IsAppointment { get; set; } = true;
        /// <summary>
        /// 是否启用
        /// </summary>		
        public bool IsEnable { get; set; }

    }
}
